home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 7
/
Gekikoh Dennoh Club Vol. 7 (Japan).7z
/
Gekikoh Dennoh Club Vol. 7 (Japan) (Track 01).bin
/
tools
/
d
/
jlcd100.lzh
/
TNB_FSW
/
CDC110F.LZH
/
DEVE.Lzh
/
CDC_CLIB.H
next >
Wrap
Text File
|
1996-09-16
|
21KB
|
812 lines
int CDC_CHK();
/*
*-----------------------------------------------------------------
*
* int CDC_CHK();
*
* ・ドライバーの常駐チェック
*
* [引 数] なし
* [戻り値] -1 ; 常駐している
* 0 ; していない
*/
int CDC_CALL();
#define CDC_VERSION() CDC_CALL(0x00)
/*
*-----------------------------------------------------------------
*
* int CDC_VERSION();
*
* ・ドライバーのバージョンチェック
*
* [引 数] なし
* [戻り値] CDC CALLバージョン。例えば 1.10なら 0x0110。
*
*/
#define CDC_INIT() CDC_CALL(0x01)
/*
*-----------------------------------------------------------------
*
* void CDC_INIT();
*
* ・CD 及び ドライバーの初期化をする ([CLR]キー同等)
*
* [引 数] なし
* [戻り値] なし
*
* 演奏中止し、モードもクリアします。ただし、プログラムは残
* ります。
*
* [参 考] CD-ROM に対し REZEROUNIT を送りますので多少時間の
* かかる場合があります。割り込み中など処理を早くした
* い場合、_CDC_STOP を使用するといいでしょう。
*
*/
#define CDC_STAT() (struct CDC_STAT_PTR *)CDC_CALL(0x02)
/*
*-----------------------------------------------------------------
*
* struct CDC_STAT_PTR *CDC_STAT();
*
* ・CDの現在の状態の書かれたアドレスを返す
*
* [引 数] なし
* [戻り値] ワークアドレス(struct CDC_STAT_PTR)
*
*/
struct CDC_STAT_PTR {
short CDIN; // 0;NoCD 1;SetCD
int PLAYINF; // 状態 0x11;演奏中,0x12;一時停止,0x13;停止
int TRAKNO; // 曲番号
int PLAYTIME; // 演奏中の曲の経過時間 (MSF型)
int CDLONG; // CD絶対総 経過時間 (MSF型)
int TRAKLONG; // 現在演奏曲のながさ (MSF型)
void* CDNAME; // CD名アドレス
void* TRAKNAME; // 曲名アドレス
void* LEDSTR; // LED文字アドレス -----以下LED部に表示される物
int LEDTRAK; // LED数値 曲番号
int LEDNO; // LED数値 1以上;プログラムナンバー
// 0;表示無し -1;MAX= -2;INP= -3;Vol
int LEDTIME; // LED数値 タイム (MSF型)
int LEDSTAT; // LEDの状態
// ┌bit 0 ■:停止
// │bit 1 >:再生
// │bit 2 ||:一時停止
// イズレカ│bit 3 >>:早送り
// └bit 4 <<:巻き戻し
// ┌bit 5 ⊂:オート
// └bit 6 ◯:リピート
// bit 7 R:ランダム
// bit 8 P:メモリー
// (bit 9 B:BGM)
char INKEYNUMH; // 入力されている数値(上)
char INKEYNUML; // 入力されている数値(下)
short LEDTIMEMODE; // LED数値 タイム のモード
// 0;ノーマル
// 1;リバース
// 2;トータル
// 3;トータルリバース
short VOLUME; // Vol数値
short MASTERVOL; // MasterVol数値(0ならボリューム機能無し)
};
/*
* 捕捉
*
* 表示 LED 文字アドレスは基本的に同じアドレスを返し
* ます。内容が変わったかどうかは曲名アドレスを監視す
* ることで可能です。
*
* CDの現在の状態の書かれたアドレスを返します。アドレスは
* 固定されてますが、内容はトラップ時にのみ更新されるものもあ
* ります。
*
* [参 考] CDC.x の機能が停止ているばあい同じ値を返します。
* ( LED 文字アドレスも0の時もあります。)
* CDC_POWER() でチェックしてください。
*
*/
#define CDC_TRACKS() (struct CDC_TRACKS_PTR *)CDC_CALL(0x03)
/*
*-----------------------------------------------------------------
*
* struct CDC_TRACKS_PTR *CDC_TRACKS();
*
* ・CD-DA のCDの総合時間、曲数、曲の演奏時間、曲名の書かれ
* たアドレスを返す
*
* [引 数] なし
* [戻り値] 曲名リストワークアドレス
*
* CD名、曲名以外の書き替えは禁止です。名前は変更可能です。
*
*/
struct CDC_TRACKS_PTR {
short CDIN; // 0;NoCD 1;SetCD
int CDCWORKS; // CDC.xの最大記憶数(以下,記憶数)
int CDCTRAK; // CDの曲数
int CDLONG; // CDの全演奏時間 (MSF型)
int CDLISTFG; // CDCLISTにあったか -1ならあった
char CDNAME[40]; // CD名 40-1文字
char WORKS[0]; //
// .dsb.b (記憶数)*40 各曲の名前 40-1文字
// .dsb.l (記憶数) 各曲の演奏時間+拡張曲名flag
// .dsb.l (記憶数) 各曲のスタート時間
// (↑最上位ビットが立っ
// ていれば データトラック)
};
struct CDC_ATRACK_PTR *CDC_ATRACK(int TN);
/*
*-----------------------------------------------------------------
*
* struct CDC_ATRACK_PTR *CDC_ATRACK( int TN )
*
* ・一つのトラックの演奏時間、曲名の書かれたアドレスを返す
*
* [引 数] TN = トラックナンバー 1~
* [戻り値] ワークアドレス
*
* ワーク内書き替えても意味がありません
*
*/
struct CDC_ATRACK_PTR {
char *NAME; // 各曲の名前 最大 39 文字
int LONG; // 各曲の演奏時間+拡張曲名flag
int START; // 各曲のスタート時間
// (↑最上位ビットが立っ
// ていれば データトラック)
};
#define CDC_SCSI_CHK() CDC_CALL(0x04)
/*
*-----------------------------------------------------------------
*
* int CDC_SCSI_CHK();
*
* ・SCSI の状態を返す
*
* [引 数] なし
* [戻り値] 0 ; 使用可能
* マイナス ; 使用不可
*
* 割り込みでCDC をアクセスする時のみ使用します。
* TRAP #5 で SCSI を使用するものの場合このコールでチェック
* してから使用してください。
*
*/
#define CDC_RELED() CDC_CALL(0x05)
/*
*-----------------------------------------------------------------
*
* void CDC_RELED();
*
* ・LED 部の書き直し、CD-ROM の状態を再チェック
*
* [引 数] なし
* [戻り値] なし
*
* LED の書き直しを行います。TRAP #5 で CDC.x を操作した場
* 合すぐにLED部(_CDC_STAT のワークも含む)に表れないものがあ
* ります。TIMER-C が生きている場合一秒(/Tによる)以内には書き
* 直されますが、このコールを使えばすぐに書き直されます。
* TRAP#5を使わず外部で演奏開始等した場合もこのコールを呼べ
* ば認識します。
* また、入力された数値のキャンセルも行います。
*
* [参 考] CDCコール番号の $1? はすぐに書き直されるようになっ
* てます。
*
*/
#define CDC_INKEY(KB) CDC_CALL(0x07,KB)
/*
*-----------------------------------------------------------------
*
* void CDC_INKEY( int KB );
*
* ・CDCのキー割り込みルーチンを呼ぶ
*
* [引 数] KB = キーボードコード
* [戻り値] なし
*
* キーボードのコードを送ることで CDC をコントロールする
*
*┌─┐┌─┐ ┌─┬─┬─┐┌─┬─┬─┬─┐
*│ ││ │ ─┬──┐│ │ │ ││ │記│登│ │
*└─┘└─┘ ─┴──┘└━┴━┴━┘└━┴─┴─┴─┘
*┌─┬─┬ ─┬──┐┌─┬─┬─┐┌─┬─┬─┬─┐
*│ES│ │ │ BS ││HM│ │DL││CL│/│*│-│
*├─┴┬┴ ┬┴┬┴┬ ┬┴┬┴──┤├─┼━┼─┤├─┼─┼─┼─┤
*│ TAB│ │E│R│ │[゚│ ││RU│RD│UN││7│8│9│+│
*├──┼ ┴┬┴┬┴ ┴┬┴┐ CR │├─┼─┼─┤├─┼─┼─┼─┤
*│ │]ム│ ││ │↑│ ││4│5│6│=│
* ┴┬┴──┤│←├─┤→│├─┼─┼─┼─┤
* │ ││ │↓│ ││1│2│3│ │
* ┴┬──┘├─┴┬┴─┤├─┼─┼─┤EN│
* │ │ │ ││0│,│.│ │
* ━┘ └──┴──┘└─┴─┴─┴─┘
*
*┌─┐┌─┐ ┌─┬─┬─┐┌─┬─┬─┬─┐
*│ ││ │ ─┬──┐│ │ │ ││ │52│53│ │
*└─┘└─┘ ─┴──┘└━┴━┴━┘└━┴─┴─┴─┘
*┌─┬─┬ ─┬──┐┌─┬─┬─┐┌─┬─┬─┬─┐
*│01│ │ │ 0F ││36│ │37││3F│40│41│42│
*├─┴┬┴ ┬┴┬┴┬ ┬┴┬┴──┤├─┼━┼─┤├─┼─┼─┼─┤
*│ 10 │ │13│14│ │1C│ ││38│39│3A││43│44│45│46│
*├──┼ ┴┬┴┬┴ ┴┬┴┐ 1D │├─┼─┼─┤├─┼─┼─┼─┤
*│ │29│ ││ │3C│ ││47│48│49│4A│
* ┴┬┴──┤│3B├─┤3D│├─┼─┼─┼─┤
* │ ││ │3E│ ││4B│4C│4D│ │
* ┴┬──┘├─┴┬┴─┤├─┼─┼─┤4E│
* │ │ │ ││4F│50│51│ │
* ━┘ └──┴──┘└─┴─┴─┴─┘
*
* 0x3F [CLR] = CDC.x初期化
* 0x4E [ENT] = 演奏
* 0x4A [=] = PAUSE/RESUME
* 0x3B/0x3D [←][→]= 巻戻し/早送り
* 0x38 [R-UP] = 1曲戻し *
* 0x39 [R-DN] = 1曲送り
* 0x3A [UNDO] = リピートモード
*
* などキー操作と同じ。他に
*
* 0x52 [記号入力]= 数値入力キャンセル。LEDの初期化にもなる
* (CDC_RELEDと同じ機能です。)
*
* があります(キー操作では出来ないようになってます)。
*
* 演奏開始の場合等、他のコールと違うのは入力されている数値
* に影響される点です。もしこのコールだけで指定の曲演奏したい
* 場合、まず、数値キーコードを送ってから演奏すれば可能です。
*
* [←][→](サーチキー)を使う場合は、連続で送ったあと、最後
* に 0 を送ってください。この時サーチ先から演奏されます。
*
* 0x38は連続でコマンドを送ったりすることで動作が違うので単
* 純に、曲の頭から、1曲戻すと言う場合 CDC_MVPLAY() を使用し
* てください。
*
* [★注意]ver 1.06以前では
* 0x42/0x46 [-][+] = 巻戻し/早送り
* でした。。
*
*/
#define CDC_PROG() (struct CDC_PROG_PTR*)CDC_CALL(0x08)
/*
*-----------------------------------------------------------------
*
* struct CDC_PROG_PTR *CDC_PROG();
*
* ・CDCのプログラムワークアドレスを返す
*
* [引 数] なし
* [戻り値] d0.l = メモリワークアドレス
*
* プログラムの直接書き替えも可能。ただし、書き替えたあとも
* う一度 _CDC_PROG をコールすること。プログラムを全部消去し
* たい場合、プログラム数を0に書き替えることで可能。
*
*/
struct CDC_PROG_PTR
{
short PROGLONG; // プログラム数
unsigned char PROGNUM[256]; // 曲ナンバー
};
#define CDC_PROGIN(NUM,PGN) CDC_CALL(0x09,NUM,PGN)
/*
*-----------------------------------------------------------------
*
* int CDC_PROGIN( int NUM , int PGN );
*
* ・指定曲ナンバーをプログラムに記憶する
*
* [引 数] NUM = 曲ナンバー
* = -1 ; 現在プログラムされている数のみ返す
* PGN = プログラムナンバー (0~)
* = -1 ;プログラムの最後に追加します ([.])
* [戻り値] 現在プログラムされている数
* マイナスならエラー(プログラム100を越える)
*
*/
#define CDC_PROGOUT() CDC_CALL(0x0A)
/*
*-----------------------------------------------------------------
*
* int CDC_PROGOUT();
*
* ・最後のプログラムの曲をプログラムから消す
*
* [引 数] なし
* [戻り値] 現在プログラムされている数
* マイナスならエラー
*
*/
#define CDC_PROGTIME() (int*)CDC_CALL(0x0F)
/*
*-----------------------------------------------------------------
*
* int CDC_PROGTIME();
*
* ・プログラムされた曲の総演奏時間を計算する
*
* [引 数] なし
* [戻り値] ワークアドレス
*
* ( 0) .dc.l 演奏予定総長さ
* ( 4) .dc.l 演奏された曲の合計長さ
*
* プログラムされて曲の合計と演奏された曲の合計長さを返しま
* す。ただし、演奏されていない時は0,0がかえります。演奏中
* にプログラムの変更があると数値がおかしくなることがあります
* (変更されない)。
*
* [参 考]ランダム演奏時にも、ノーマル時にも有効。
* 意味がないので、そのうち消えるかも知れないコール
* 使用禁止 ^^;
*
*/
#define CDC_PLAY(ST,ET) CDC_CALL(0x10,ST,ET)
/*
*-----------------------------------------------------------------
*
* int CDC_PLAY( int ST , int ET );
*
* ・曲ナンバー指定によりノーマル演奏開始
*
* [引 数] ST = 開始曲ナンバー (0ならCDC管理演奏)
* ET = 終了曲ナンバー (-1なら最後まで)
* [戻り値] 0なら正常終了
* マイナスならエラー
*
*/
#define CDC_PAUSE() CDC_CALL(0x11)
/*
*-----------------------------------------------------------------
*
* void CDC_PAUSE();
*
* ・CD演奏の一時停止。演奏していない場合何もしない
*
* [引 数] なし
* [戻り値] なし
*
*/
#define CDC_RESUME() CDC_CALL(0x12)
/*
*-----------------------------------------------------------------
*
* void CDC_RESUME();
*
* ・CD演奏の一時停止の解除。演奏中は何もしない
*
* [引 数] なし
* [戻り値] なし
*
*/
#define CDC_MVPLAY(OFS) CDC_CALL(0x13,OFS)
/*
*-----------------------------------------------------------------
*
* int CDC_MVPLAY( int OFS );
*
* ・CD演奏の曲を変える
*
* [引 数] OFS = 現在演奏中の曲からの ±値 (-1~1)
* [戻り値] 0なら正常終了
* マイナスならエラー
*
* 0を指定することで演奏中の曲を最初から。プログラムされて
* いる場合、プログラム順に曲を移動、演奏します。ランダムモー
* ド時は、どの曲にいくか判りません。
*
*/
#define CDC_BGM(T1,T2,T3,T4) CDC_CALL(0x14,T1,T2,T3,T4)
/*
*-----------------------------------------------------------------
*
* int CDC_BGM( int T1,int T2,int T3,int T4 );
*
* ・指定アドレス間を繰り返し演奏する(BGMモード演奏)
*
* [引 数] T1 = 開始トラックor開始アドレス
* T2 = 終了アドレス(0ならその曲の最後の数値)
* T3 = ループアドレス(0なら T1 と同じ値に)
* T4 = ループ終了アドレス(0なら T2 と同じ値に)
* [戻り値] 0なら正常終了
* マイナスならエラー
*
* T1 は 0x100 未満であればトラック指定になります。
* T1 が 0x100 以上であればアドレス指定になります。
*
* CDC_MODE() の戻り値に bit4;BGM が立ちます
*
* [参 考] 基本的に BGMとして CD を使う場合のコールなので
* LED部にBGMモードとは表示されません。
* ZCDC.x で使用してます。
*
*/
#define CDC_STOP() CDC_CALL(0x15)
/*
*-----------------------------------------------------------------
*
* void CDC_STOP();
*
* ・CD演奏を停止する
*
* [引 数] なし
* [戻り値] なし
*
* CDC_INIT() に比べ高速です。割り込み中など処理が止まるのを
* 避けたい場合のみ使用してください。CDC.x 内部では「停止」に
* なりますが、CD-ROM自体の状態は一時停止になっています。また、
* LED の書き替えもすぐに行われません。
*
*/
#define PLAYWAIT() CDC_CALL(0x1D)
/*
*
* ・演奏開始後、ステイタス待ちをする( /PM 使用時対策用)
*
* [引 数] なし
* [戻り値] なし
*
* /PM 使用時、演奏開始を待たずに次の作業に移ります。が、タ
* イミングを取るためにはこれではまずい場合があります(ゲーム
* のBGMなど)。その時、これを実行します。演奏開始するまで待ち
* ます。
* /PM 使用していない場合や、演奏開始状態でない場合は無視さ
* れます。
*
*/
#define CDC_VOL(VL) CDC_CALL(0x1E,VL)
/*
*-----------------------------------------------------------------
*
* int CDC_VOL( int VL );
*
* ・ボリュームを変更する
*
* [引 数] VL = 0~255 ; ボリュームを指定
* = -1 ; 現在のボリューム値を返す
* [戻り値] 現在のボリューム値
* マイナスならエラー(値異常かボリューム非対応)
*
* [参 考] マスターボリュームは CDC_STAT() で確認出来ます。
*
*/
#define CDC_FADEOUT(SW) CDC_CALL(0x1F,SW)
/*
*-----------------------------------------------------------------
*
* int CDC_FADEOUT( int SW );
*
* ・演奏をフェードアウトする。
*
* [引 数] SW = 0 ; フェードアウト開始
* = 1~255 ; フェードアウトの速度変更
* = -1 ; 現在のフェードアウト速度を返す
* [戻り値] 現在のフェードアウト速度
* -1 なら フェードアウトが出来ない。
* -2 なら 既にフェードアウト始めている。
*
*/
#define CDC_DRIVE() CDC_CALL(0x30)
/*
*-----------------------------------------------------------------
*
* void CDC_DRIVE();
*
* ・CDCの心臓を動かす
*
* [引 数] なし
* [戻り値] なし
*
* TIMER-Cを乗っ取っていると、CDCが動きません。が、直接ある
* 一定期でこれをコールすれば大丈夫です。
*
* [参 考] MUTERMモード対応にも対応してます。が、使用するこ
* とはないでしょう。
*
*/
#define CDC_MODE(MD) CDC_CALL(0x31,MD)
/*
*-----------------------------------------------------------------
*
* int CDC_MODE( int MD );
*
* ・CDCの演奏モードを設定(トグル)
*
* [引 数] MD = モード
* = 0 ; オート
* = 1 ; リピート
* = 2 ; ランダム
* = -1 ; モードののみ返す
* [戻り値] 現在のモード ; 正常終了
* 現在のモードは
* bit0 :オート
* bit1 :リピート
* bit2 :ランダム
* bit3 :メモリー
* [bit4 :BGM]
*
* 設定は CDC_INKEY でそれぞれのキーコードを、送った時
* を同じ処理をします(ただし入力数字は無視されます)ので、場合
* により演奏開始されます。
*
* モード変更はトグルで行われるので一度モードを調べてから設
* 定したほうがいいでしょう。
*
*/
#define CDC_KEYMODE(MD) CDC_CALL(0x32,MD)
/*
*-----------------------------------------------------------------
*
* int CDC_KEYMODE( int MD );
*
* ・CDCのキー操作関係のモードを設定
*
* [引 数] MD = モード
* 0 ; 一切受け付けない (-KS)
* 1 ; 受け付ける
* -1 ; 現在のモードのみ返す
* [戻り値] 前のモード ; 正常終了
* マイナスならエラー
*
*/
#define CDC_LED(MD) CDC_CALL(0x33,MD)
/*
*-----------------------------------------------------------------
*
* int CDC_LED( int MD );
*
* ・CDCのLEDの表示モードを設定する
*
* [引 数] MD = 0 ; 非表示モード
* 1 ; 表示モード
* 2 ; 左部のみ表示モード
* = -1 ; 現在の値
* [戻り値] 前のモード ; 正常終了
* マイナスならエラー
*
* 表示モードにしてもTEXTが使われていると表示されません
*
* [★注意]ver 1.06以前では
* [引 数] MD = 1 ; 非表示モード
* 0 ; 表示モード
* でした。。
*
*/
#define CDC_TIMING(TM) CDC_CALL(0x34,TM)
/*
*-----------------------------------------------------------------
*
* int CDC_TIMING( int TM );
*
* ・CDチェックする間隔設定(基本的に使用禁止)
*
* [引 数] TM = 1/100s単位
* = -1 ; 現在の値
* [戻り値] 前の値(単位1/100s) ; 正常終了
* マイナスならエラー
*
* 間隔チェックには IOCS の TIMER-C のワークを見ているので
* TIMER-C を変更している場合、意味がありません。
*
*/
#define CDC_POWER(MD) CDC_CALL(0x35,MD)
/*
*-----------------------------------------------------------------
*
* int CDC_POWER( int MD );
*
* ・CDC の機能を制御
*
* [引 数] MD = 1 ; 機能する
* = 0 ; 停止する ([ESC])
* = -1 ; 現在の値
* [戻り値] 前の値 ; 正常終了
* マイナスならエラー
*
* 機能を停止しても trap #5 での操作も可能ですが、CDC_DRIVE()
* を常用する必要があります。
*
*/
#define CDC_TRACKMODE(MD) CDC_CALL(0x36,MD)
/*
*-----------------------------------------------------------------
*
* void CDC_TRACKMODE( int MD );
*
* ・トラック記憶モードを変える(演奏も停止します)。
*
* [引 数] MD = 0 ; タイトルリストファイルを参照、
* 拡張トラック設定
* = 1 ; 拡張トラック設定解除
* [戻り値] なし
*
* タイトルリストファイルからの登録を行います。タイトルリス
* トファイルを変更した時これを実行すれば読み込んでくれます。
*
* ジュークボックスモード時は使用禁止です、
*
* [参 考] MD == 1 は主にZCDC.xで使用します。普通の音楽演奏の
* 場合は意味がないでしょう。
*
*/
#define CDC_KEYCANSEL(NK) CDC_CALL(0x37,NK)
/*
*-----------------------------------------------------------------
*
* void CDC_KEYCANSEL( int NK );
*
* ・CDCのキー操作無効を個別に設定
*
* [引 数] NK = 無効にするキーボードコード
* = -1 ; 全てもとに戻す
* [戻り値] なし
*
* アプリでキーボードからのコントロールが困る物がある場合、
* 特定のキーのみ無効に出来ます。アプリ終了時もとに戻すこと。
*
* [参 考] スイッチ -B[n]でも、もとに戻すことが出来ます。
*
*/
#define CDC_TIMELED(MD) CDC_CALL(0x38,MD)
/*
*-----------------------------------------------------------------
*
* int CDC_TIMELED( int MD );
*
* ・CDCのTIMEのLEDの表示モードを設定する
*
* [引 数] MD = 0 ; ノーマル
* 1 ; リバース
* 2 ; トータル
* 3 ; トータルリバース
* = -1 ; 現在の値
* [戻り値] 前のモード ; 正常終了
* マイナスならエラー
*
*/
#define CDC_LEDXY() CDC_CALL(0x39)
/*
*-----------------------------------------------------------------
*
* int CDC_LEDXY();
*
* ・CDCのLEDの座標を得る
*
* [引 数] なし
* [戻り値] X座標 * 0x10000 + Y座標
*
* [★注意]ver 1.08以降新規です。
*
*/
#define CDC_SCSIID() CDC_CALL(0x3a)
/*
*-----------------------------------------------------------------
*
* int CDC_SCSIID();
*
* ・CDCの管理しているSCSI-ID(LUN)を得る
*
* [引 数] なし
* [戻り値] LUN * 0x10000 + ID
*
* LUN は 0~7 であって、トレイ(1~ )とはずれているので注意
*
* [★注意]ver 1.09以降新規です。
*
*/
#define CDC_EJEEMU() CDC_CALL(0x3b)
/*
*-----------------------------------------------------------------
*
* void CDC_EJEEMU();
*
* ・CDCの管理しているSCSI機器が一度エジェクトされた事にする
*
* [引 数] なし
* [戻り値] なし
*
* [★注意]ver 1.09以降新規です。
*
*/
#define CDC_CHGLUN(LN) CDC_CALL(0x3c,LN)
/*
*-----------------------------------------------------------------
*
* int CDC_CHGLUN( int LN );
*
* ・LUNを切り換える
*
* [引 数] LN = LUN (0~7)
* = -1 ; 現在の値
* [戻り値] = LUN (0~7) ; 正常終了
* = 100 ; ジュークボックスモード
* マイナスならエラー
*
* LUNを切り換えます。切り換えたと同時にタイトルリストファ
* イルからの登録も行います。
*
* [★注意]ver 1.09以降新規です。
*
*/
/*
*-------------------------------------------------------------------------
*
* CDC ERROR CORDS
*
*
* -1 ;
* -2 ; Play Audio Begin ・ Play Audio Block Count Command error'演奏できない'
* -3 ; Start Track Address or ReadTOC Command error'演奏できない'
* -4 ; 指定された曲番号は、存在しない
* -5 ; Leadout Track Address or ReadTOC Command error
* -100 ; CD-ROM でない 準備されていない
*
*
* 戻り値としてd0が使われていなくても破壊されます.
*
*
*-------------------------------------------------------------------------
*
* CDC バージョンの差
*
*
* 以下のコールは_CDC_VERSIONで得られる数値の$107未満と以降では引数等に違
* ってしまっています。ご注意下さい。
*
* CDC_INKEY();
* CDC_LED();
*
* 以下のコールは_CDC_VERSIONで得られる数値の$108以降新規です。
*
* CDC_LEDXY();
*
* 以下のコールは_CDC_VERSIONで得られる数値の$109以降新規です。
*
* CDC_SCSIID();
* CDC_EJEEMU();
* CDC_CHGLUN();
* CDC_VOL();
* CDC_FADEOUT();
*
*
*/